package com.ktgj.flight.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PassengerInformation implements Serializable {

    public PassengerInformation()
    {
        lstFlightOrderAssist = new ArrayList<>();
    }
    /** 乘客姓名 */
    @Excel(name = "乘客姓名")
    private String guestName;
    /** 乘客类型 */
    @Excel(name = "乘客类型")
    private String guestType;
    /** 证件号 */
    @Excel(name = "证件号")
    private String guestIdno;
    /** 乘客生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "乘客生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date guestBirthday;
    /** 航空公司 */
    @Excel(name = "航空公司")
    private String airliner;
    /** 航班号 */
    @Excel(name = "航班号")
    private String flight;
    /** 舱位 */
    @Excel(name = "舱位")
    private String cabin;
    /** 舱位标识 */
    @Excel(name = "舱位标识")
    private String subcabin;
    /** 票号 */
    @Excel(name = "票号")
    private String ticketNo;
    /** 出票折扣 */
    @Excel(name = "出票折扣")
    private Long discount;
    /** 票面价 */
    @Excel(name = "票面价")
    private BigDecimal ticketPrice;
    /** 原始票面价（shoppping价格） */
    @Excel(name = "原始票面价", readConverterExp = "s=hoppping价格")
    private BigDecimal orgPrice;
    /** 燃油费 */
    @Excel(name = "燃油费")
    private BigDecimal fuelFee;
    /** 机建费 */
    @Excel(name = "机建费")
    private BigDecimal airportFee;
    /** 保险总金额 */
    @Excel(name = "保险总金额")
    private BigDecimal insuranceAmount;
    /** 出发时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "出发时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date departureTime;
    /** 到达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "到达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date arrivalTime;
    /** 出发机场三字码 */
    @Excel(name = "出发机场三字码")
    private String orgAirport;
    /** 抵达机场三字码 */
    @Excel(name = "抵达机场三字码")
    private String dstAirport;
    /** 出港城市 */
    @Excel(name = "出港城市")
    private String departure;
    /** 到港城市 */
    @Excel(name = "到港城市")
    private String arrival;
    /** 起飞机场航站楼 */
    @Excel(name = "起飞机场航站楼")
    private String depTerm;
    /** 到达机场航站楼 */
    @Excel(name = "到达机场航站楼")
    private String arrTerm;
    /** 航班类型 */
    @Excel(name = "航班类型")
    private String flightType;
    /** 经停或中转次数 */
    @Excel(name = "经停或中转次数")
    private Long stopCount;
    /** 升舱费 */
    @Excel(name = "升舱费")
    private BigDecimal upGradeFee;
    /** 改期费 */
    @Excel(name = "改期费")
    private BigDecimal changeFee;
    /** 改期服务费 */
    @Excel(name = "改期服务费")
    private BigDecimal changeServiceFee;
    /** 机票返现金额 */
    @Excel(name = "机票返现金额")
    private BigDecimal returnCash;
    /** 票价损失费 */
    @Excel(name = "票价损失费")
    private BigDecimal lossFee;
    //乘客对应的辅营产品信息
    private List<FlightOrderAssist> lstFlightOrderAssist;

    public List<FlightOrderAssist> getLstFlightOrderAssist()
    {
        return lstFlightOrderAssist;
    }

    public void setLstFlightOrderAssist(List<FlightOrderAssist> lstFlightOrderAssist)
    {
        this.lstFlightOrderAssist = lstFlightOrderAssist;
    }

    public Date getGuestBirthday() {
        return guestBirthday;
    }

    public void setGuestBirthday(Date guestBirthday) {
        this.guestBirthday = guestBirthday;
    }

    public String getAirliner() {
        return airliner;
    }

    public void setAirliner(String airliner) {
        this.airliner = airliner;
    }

    public String getFlight() {
        return flight;
    }

    public void setFlight(String flight) {
        this.flight = flight;
    }

    public String getCabin() {
        return cabin;
    }

    public void setCabin(String cabin) {
        this.cabin = cabin;
    }

    public String getSubcabin() {
        return subcabin;
    }

    public void setSubcabin(String subcabin) {
        this.subcabin = subcabin;
    }

    public Long getDiscount() {
        return discount;
    }

    public void setDiscount(Long discount) {
        this.discount = discount;
    }

    public BigDecimal getTicketPrice() {
        return ticketPrice;
    }

    public void setTicketPrice(BigDecimal ticketPrice) {
        this.ticketPrice = ticketPrice;
    }

    public BigDecimal getOrgPrice() {
        return orgPrice;
    }

    public void setOrgPrice(BigDecimal orgPrice) {
        this.orgPrice = orgPrice;
    }

    public BigDecimal getFuelFee() {
        return fuelFee;
    }

    public void setFuelFee(BigDecimal fuelFee) {
        this.fuelFee = fuelFee;
    }

    public BigDecimal getAirportFee() {
        return airportFee;
    }

    public void setAirportFee(BigDecimal airportFee) {
        this.airportFee = airportFee;
    }

    public BigDecimal getInsuranceAmount() {
        return insuranceAmount;
    }

    public void setInsuranceAmount(BigDecimal insuranceAmount) {
        this.insuranceAmount = insuranceAmount;
    }

    public Date getDepartureTime() {
        return departureTime;
    }

    public void setDepartureTime(Date departureTime) {
        this.departureTime = departureTime;
    }

    public Date getArrivalTime() {
        return arrivalTime;
    }

    public void setArrivalTime(Date arrivalTime) {
        this.arrivalTime = arrivalTime;
    }

    public String getOrgAirport() {
        return orgAirport;
    }

    public void setOrgAirport(String orgAirport) {
        this.orgAirport = orgAirport;
    }

    public String getDstAirport() {
        return dstAirport;
    }

    public void setDstAirport(String dstAirport) {
        this.dstAirport = dstAirport;
    }

    public String getDeparture() {
        return departure;
    }

    public void setDeparture(String departure) {
        this.departure = departure;
    }

    public String getArrival() {
        return arrival;
    }

    public void setArrival(String arrival) {
        this.arrival = arrival;
    }

    public String getDepTerm() {
        return depTerm;
    }

    public void setDepTerm(String depTerm) {
        this.depTerm = depTerm;
    }

    public String getArrTerm() {
        return arrTerm;
    }

    public void setArrTerm(String arrTerm) {
        this.arrTerm = arrTerm;
    }

    public String getFlightType() {
        return flightType;
    }

    public void setFlightType(String flightType) {
        this.flightType = flightType;
    }

    public Long getStopCount() {
        return stopCount;
    }

    public void setStopCount(Long stopCount) {
        this.stopCount = stopCount;
    }

    public BigDecimal getUpGradeFee() {
        return upGradeFee;
    }

    public void setUpGradeFee(BigDecimal upGradeFee) {
        this.upGradeFee = upGradeFee;
    }

    public BigDecimal getChangeFee() {
        return changeFee;
    }

    public void setChangeFee(BigDecimal changeFee) {
        this.changeFee = changeFee;
    }

    public BigDecimal getChangeServiceFee() {
        return changeServiceFee;
    }

    public void setChangeServiceFee(BigDecimal changeServiceFee) {
        this.changeServiceFee = changeServiceFee;
    }

    public BigDecimal getReturnCash() {
        return returnCash;
    }

    public void setReturnCash(BigDecimal returnCash) {
        this.returnCash = returnCash;
    }

    public BigDecimal getLossFee() {
        return lossFee;
    }

    public void setLossFee(BigDecimal lossFee) {
        this.lossFee = lossFee;
    }

    public String getGuestName() {
        return guestName;
    }

    public void setGuestName(String guestName) {
        this.guestName = guestName;
    }

    public String getGuestType() {
        return guestType;
    }

    public void setGuestType(String guestType) {
        this.guestType = guestType;
    }

    public String getGuestIdno() {
        return guestIdno;
    }

    public void setGuestIdno(String guestIdno) {
        this.guestIdno = guestIdno;
    }

    public String getTicketNo() {
        return ticketNo;
    }

    public void setTicketNo(String ticketNo) {
        this.ticketNo = ticketNo;
    }
}
